home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 11 - 1995 / 11.04 Apr 95 / TreeAppƒ / Eric's C++ Libraries / Interface Classes / CPPPackedTreeNode.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-04  |  1.3 KB  |  54 lines  |  [TEXT/KAHL]

  1. /***************************************************** IMPLEMENTATION
  2.     DATE:    11/12/93
  3.     AUTHOR: Eric R. Rosé
  4.  
  5.     CLASS:  CPPPackedTreeNode
  6.     
  7.     SUPERCLASS: CPPVisualTreeNode
  8.     
  9.         This C++ class manages the visual representation of a node
  10.         in a packed hierarchical tree
  11.     
  12. ********************************************************************/
  13.  
  14. #pragma once
  15.  
  16. #include <CPPVisualTreeNode.h>
  17.  
  18. class CPPVisualTree;
  19.  
  20. class CPPPackedTreeNode : public CPPVisualTreeNode {
  21.         friend    class CPPVisualTree;
  22. public:
  23.     
  24.             CPPPackedTreeNode (CPPObject *NodeData, CPPTree *BelongsTo, 
  25.                                Boolean becomeOwner, Boolean selected);
  26.             ~CPPPackedTreeNode (void);
  27.             
  28.     virtual    char *ClassName (void);
  29.     virtual    Boolean    Member (char *className);
  30.         
  31.     virtual CPPObject *Clone(void);
  32.  
  33.     virtual    void    EraseNode (Boolean wholeFamily);
  34.                 
  35.     virtual    void    ReceiveMessage (CPPGossipMonger *toldBy, 
  36.                                     short reason, void* info);
  37.                 
  38. protected:
  39.     Point    estTopLeft;
  40.  
  41.     virtual    void         DoCalcFamilySize(void);
  42.     virtual    void         DoCalcFamilyBounds (Point TopLeftCorner);
  43.             void        CPBRightTraverse (short level, short levelOffset);
  44.             void        CPBLeftTraverse (short level, short levelOffset);
  45.             void        CPBTopTraverse (short level, short levelOffset);
  46.             void        CPBBottomTraverse (short level, short levelOffset);
  47.             void        PostProcess (Boolean isVertical);
  48.  
  49. private:
  50.             void        ShiftNode (Point newTopLeft);
  51.  
  52. };
  53.  
  54.